草庐IT

Python 请求异常处理

全部标签

ruby-on-rails - 处理身份登录的 OmniAuth::Error (invalid_credentials)

我使用OmniAuthIdentity进行正常登录。Rails3.2.3和Ruby1.9.3p194。目前,当现有用户尝试使用无效凭据登录时,我会收到以下错误:StartedPOST"/auth/identity/callback"for127.0.0.1at2012-07-1217:00:03-0400(identity)Callbackphaseinitiated.IdentityLoad(0.1ms)SELECT"identities".*FROM"identities"WHERE"identities"."email"='test'LIMIT1(identity)Authent

ruby-on-rails - 是否可以让数据库事务跨越 Rails 中的多个请求?

我有一个跨越多个页面的表单。现在的设置方式并不理想,因为它会在提交时保存(到数据库)每个页面。因此,如果用户未在所有页面上完成表单,则数据库中将保存不完整的用户注册信息。如果用户没有完全填写表格,我想“回滚”保存。那么有没有一种方法可以设置一个事务,该事务在用户填写第一个表单时开始,在用户完成最后一页时结束? 最佳答案 您正在寻找的是acts_as_state_machinegem.如果您不熟悉状态机,请查看here. 关于ruby-on-rails-是否可以让数据库事务跨越Rails中

Python——程序的运行原理

Python程序运行原理Python是一种脚本语言,编辑完成的程序,也称源代码,可以直接运行。从计算机的角度看,Python程序的运行过程包含两个步骤:解释器将源代码翻译成字节码(即中间码),然后由虚拟机解释执行。Python程序文件的扩展名通常为.py。在执行时,首先由Python解释器将.py文件中的源代码翻译成中间码,这个中间码是一个扩展名为.pyc的文件,再由Python虚拟机(PythonVirtualMachine,PVM)逐条将中间码翻译成机器指令执行。需要说明的是,pyc文件保存在Python安装目录的pycache文件夹下,如果Python无法在用户的计算机上写人字节码,字节

ruby-on-rails - spork 可以处理 rake 任务吗?

Rake任务遇到与运行测试相同的问题:Rails启动过程在任务运行之前需要很长时间。有没有办法将spork和rake整合在一起? 最佳答案 您可以使用irakegem,它可以从控制台执行rake任务。将此添加到Gemfile:gem'irake'然后捆绑并启动控制台$bundleinstall$railsconsole...并等待Rails环境加载(仅一次)。然后你可以这样做:rake"db:migrate"如果你想列出任务,你可以:Rake::Task.tasks.each{|t|putst.name};nil

ruby - 每次请求都会启动一个新的 sinatra 实例吗?

当一个新的http请求进来时,是否会启动一个新的sinatra实例,例如是否要初始化sinatra,或者只是调用sinatra的前一个实例(相应的get/post方法/路由)的方法?感谢您提供任何文档链接,我找不到任何文档链接。如果该行为依赖于部署类型——WEBrick/Passenger等,那也很有趣 最佳答案 为每个请求创建一个新类。然而,这不是Rack完成的。这是Sinatra的一个特性。如果您想深入了解细节:该实例实际上不是使用Sinatra::Application.new创建的,而是使用Sinatra::Applicat

ruby-on-rails - 如何记录某个 url 的整个请求( header 、正文等)?

我需要将所有请求(包括HTTPheader、正文等)记录到某个url。我试过这段代码:defindexglobal_request_loggingendprivatedefglobal_request_logginghttp_request_header_keys=request.headers.keys.select{|header_name|header_name.match("^HTTP.*")}http_request_headers=request.headers.select{|header_name,header_value|http_request_header_key

ruby-on-rails - 如何以一种 rails 形式处理多个模型?

我有以下型号classSurvey我的Controller:defnew@survey=Survey.newsurvey_section=@survey.survey_sections.buildsurvey_section.questions.buildenddefcreate@survey=Survey.new(survey_params)if@survey.saveredirect_to@survey,notice:'Super'elserender'new'endenddefsurvey_paramsparams.require(:survey).permit(:title,:

ruby - 如何使用消息和回溯手动创建异常

如何使用回溯创建异常?我知道我们可以做这样的事情来实现这一目标:beginraiseStandardError,"message"rescueStandardError=>exceptionexception.backtraceend或者exception=StandardError.new("message")exception.set_backtrace(caller)但我正在寻找这样的东西:exception=StandardError.new("message",backtrace:caller)有没有一种方法可以使用自定义消息和回溯来初始化异常?

ruby - 如何将带回溯的 ruby​​ 异常格式化为字符串

我有一个异常e,我想将它转换成一个与标准ruby​​输出完全相同的字符串在未捕获异常时在stderr上。初始代码给出了错误的堆栈跟踪顺序,并且缩进不正确。与其编写我自己的代码,我更希望看到一些“oneliner”。你是怎么做到的? 最佳答案 这将是相同的。puts"#{$@.first}:#{$!.message}(#{$!.class})",$@.drop(1).map{|s|"\t#{s}"}或者,使用e:puts"#{e.backtrace.first}:#{e.message}(#{e.class})",e.backtrac

Ruby 构造函数和异常

Ruby新手,我想弄清楚使用什么习惯用法来将某些整数值限制为类的构造函数。根据我目前所做的,如果我在initialize()中引发异常,该对象仍会创建,但将处于无效状态(例如,某些nil实例变量中的值)。我不太明白我应该如何限制这些值而不进入看起来不必要的大步骤,例如限制对new()的访问。所以我的问题是,我可以通过什么机制来限制实例化对象的值范围? 最佳答案 嗯,你是完全正确的,即使initialize引发异常,对象仍然存在。然而,任何人都很难坚持引用,除非你从initialize中泄漏self就像我刚写的下面的代码一样:>>cl